#ifndef CUBE_H
#define CUBE_H

typedef struct CUBE_T Cube, *Cube_P;

const int Cube_Size = 36;
const float CS = 36;
const float Rotation_Speed = 0.15;
const float Move_Speed = 0.1;
const float AccelK = 200;
const float SpeedK = 2;
const int Levels_Count = 13;
const float Max_Move_Speed = 0.1*4;
const float Max_Rotation_Speed = 0.15*4;

int field_text;
int cube_texts[13];

const float cubeK = 1.4;
const float frontgK = 1.3;
const float frontbK = 1.2;
int colors[12];
int colors1[12];
int colors2[12];

const int State_Search = 0;
const int State_Rotating = 1;
const int State_Waiting = 2;
const int State_Moving = 3;
const int State_Target = 4;
const int State_Disabled = 5;

/*typedef*/ struct CUBE_T {
    float x;
    float y;    
    float angle;
    int ID;
    Cube_P target;
    float delta_angle;
    float rotated;
    float max_rotation;
    float dx;
    float dy;
    int enabled;
    float ax;
    float ay;
    int level;
    float end_angle;
    int state;
    //Cube_P master;
} /*Cube, *Cube_P*/;


Cube cubes[88];
const int CC = 88;
const int CCW = 11;
const int CCH = 8;
const int TS = 30;
const int LS = 22;

#endif
